home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 422_03 / 8086.asm < prev    next >
Assembly Source File  |  1994-02-25  |  6KB  |  474 lines

  1. *
  2. * Test file to verify instructions and addressing modes of: 8086
  3. *
  4. IMM    EQU    $12
  5. IMMM    EQU    $3456
  6. EXT    EQU    $789A
  7. *
  8.     AAA
  9.     AAD
  10.     AAM
  11.     AAS
  12. *
  13.     ADC    AX,BX
  14.     ADC    AL,#IMM
  15.     ADC    AX,#IMM
  16.     ADC    BL,#IMM
  17.     ADC    BX,#IMM
  18.     ADC    BX,#IMMM
  19.     ADC    CL,[BX]
  20.     ADC    CX,5[BX]
  21.     ADC    DH,[DI]
  22.     ADC    DX,5[DI]
  23.     ADC    DI,[SI]
  24.     ADC    SI,5[BX+DI]
  25.     ADC    DI,5[BX+SI]
  26.     ADC    AX,5[BP]
  27.     ADC    AX,5[BP+DI]
  28.     ADC    AX,5[BP+SI]
  29. *
  30.     ADD    AX,BX
  31.     ADD    AL,#IMM
  32.     ADD    AX,#IMM
  33.     ADD    BL,#IMM
  34.     ADD    BX,#IMM
  35.     ADD    BX,#IMMM
  36.     ADD    CL,[BX]
  37.     ADD    CX,5[BX]
  38.     ADD    DH,[DI]
  39.     ADD    DX,5[DI]
  40.     ADD    DI,[SI]
  41.     ADD    SI,5[BX+DI]
  42.     ADD    DI,5[BX+SI]
  43.     ADD    AX,5[BP]
  44.     ADD    AX,5[BP+DI]
  45.     ADD    AX,5[BP+SI]
  46. *
  47.     AND    AX,BX
  48.     AND    AL,#IMM
  49.     AND    AX,#IMM
  50.     AND    BL,#IMM
  51.     AND    BX,#IMM
  52.     AND    BX,#IMMM
  53.     AND    CL,[BX]
  54.     AND    CX,5[BX]
  55.     AND    DH,[DI]
  56.     AND    DX,5[DI]
  57.     AND    DI,[SI]
  58.     AND    SI,5[BX+DI]
  59.     AND    DI,5[BX+SI]
  60.     AND    AX,5[BP]
  61.     AND    AX,5[BP+DI]
  62.     AND    AX,5[BP+SI]
  63. *
  64.     CALL    EXT
  65.     CALL    0:EXT
  66.     CALL    AX
  67.     CALL    0:AX
  68.     CALL    [BX]
  69.     CALL    5[SI]
  70.     CALL    5[DI]
  71.     CALL    5[BX+SI]
  72.     CALL    0:5[DI]
  73.     CALL    0:5[BP+DI]
  74. *
  75.     CBW
  76.     CLC
  77.     CLD
  78.     CLI
  79.     CMC
  80. *
  81.     CMP    AX,BX
  82.     CMP    AL,#IMM
  83.     CMP    AX,#IMM
  84.     CMP    BL,#IMM
  85.     CMP    BX,#IMM
  86.     CMP    BX,#IMMM
  87.     CMP    CL,[BX]
  88.     CMP    CX,5[BX]
  89.     CMP    DH,[DI]
  90.     CMP    DX,5[DI]
  91.     CMP    DI,[SI]
  92.     CMP    SI,5[BX+DI]
  93.     CMP    DI,5[BX+SI]
  94.     CMP    AX,5[BP]
  95.     CMP    AX,5[BP+DI]
  96.     CMP    AX,5[BP+SI]
  97. *
  98.     CMPS    <EXT
  99.     CMPS    >EXT
  100.     REPZ
  101.     CMPSB
  102.     REPNZ
  103.     CMPSW
  104. *
  105.     CWD
  106.     DAA
  107.     DAS
  108. *
  109.     DEC    AL
  110.     DEC    AX
  111.     DEC    <EXT
  112.     DEC    >EXT
  113.     DEC    <[BX]
  114.     DEC    >[BX]
  115.     DEC    <5[SI]
  116.     DEC    >5[BX+DI]
  117.     DEC    <10[BP]
  118.     DEC    >10[BP+DI]
  119. *
  120.     DIV    AL
  121.     DIV    AX
  122.     DIV    <EXT
  123.     DIV    >EXT
  124.     DIV    <[BX]
  125.     DIV    >[BX]
  126.     DIV    <5[SI]
  127.     DIV    >5[BX+DI]
  128.     DIV    <10[BP]
  129.     DIV    >10[BP+DI]
  130. *
  131.     ESC    1,<EXT
  132.     ESC    5,>EXT
  133.     ESC    15,<[BX]
  134.     ESC    20,>[BX]
  135.     ESC    25,<5[SI]
  136.     ESC    30,>5[BX+DI]
  137.     ESC    35,<10[BP]
  138.     ESC    40,>10[BP+DI]
  139. *
  140.     HLT
  141. *
  142.     IDIV    AL
  143.     IDIV    AX
  144.     IDIV    <EXT
  145.     IDIV    >EXT
  146.     IDIV    <[BX]
  147.     IDIV    >[BX]
  148.     IDIV    <5[SI]
  149.     IDIV    >5[BX+DI]
  150.     IDIV    <10[BP]
  151.     IDIV    >10[BP+DI]
  152. *
  153.     IMUL    AL
  154.     IMUL    AX
  155.     IMUL    <EXT
  156.     IMUL    >EXT
  157.     IMUL    <[BX]
  158.     IMUL    >[BX]
  159.     IMUL    <5[SI]
  160.     IMUL    >5[BX+DI]
  161.     IMUL    <10[BP]
  162.     IMUL    >10[BP+DI]
  163. *
  164.     IN    AL,10
  165.     IN    AX,100
  166.     IN    AL,DX
  167.     IN    AX,DX
  168. *
  169.     INC    AL
  170.     INC    AX
  171.     INC    <EXT
  172.     INC    >EXT
  173.     INC    <[BX]
  174.     INC    >[BX]
  175.     INC    <5[SI]
  176.     INC    >5[BX+DI]
  177.     INC    <10[BP]
  178.     INC    >10[BP+DI]
  179. *
  180.     INT    0
  181.     INT    3
  182.     INT    255
  183. *
  184.     IRET
  185. *
  186.     JA    *
  187.     JAE    *
  188.     JB    *
  189.     JBE    *
  190.     JC    *
  191.     JCXZ    *
  192.     JZ    *
  193.     JNZ    *
  194.     JG    *
  195.     JGE    *
  196.     JL    *
  197.     JLE    *
  198.     JNC    *
  199.     JNO    *
  200.     JNS    *
  201.     JNP    *
  202.     JO    *
  203.     JP    *
  204.     JS    *
  205. *
  206.     JMP    <*
  207.     JMP    EXT
  208.     JMP    0:EXT
  209.     JMP    AX
  210.     JMP    0:AX
  211.     JMP    [BX]
  212.     JMP    5[SI]
  213.     JMP    5[DI]
  214.     JMP    5[BX+SI]
  215.     JMP    0:5[DI]
  216.     JMP    0:5[BP+DI]
  217. *
  218.     LAHF
  219. *
  220.     LDS    AX,EXT
  221.     LDS    BX,[BX]
  222.     LDS    CX,5[SI]
  223.     LDS    DX,5[BX+DI]
  224.     LDS    SI,5[BP+DI]
  225. *
  226.     LEA    AX,EXT
  227.     LEA    BX,[BX]
  228.     LEA    CX,5[SI]
  229.     LEA    DX,5[BX+DI]
  230.     LEA    SI,5[BP+DI]
  231. *
  232.     LES    AX,EXT
  233.     LES    BX,[BX]
  234.     LES    CX,5[SI]
  235.     LES    DX,5[BX+DI]
  236.     LES    SI,5[BP+DI]
  237. *
  238.     LOCK
  239. *
  240.     LODS    <EXT
  241.     LODS    >EXT
  242.     LODSB
  243.     LODSW
  244. *
  245.     LOOP    *
  246.     LOOPZ    *
  247.     LOOPNZ    *
  248. *
  249.     MOV    AX,EXT
  250.     MOV    BX,#IMM
  251.     MOV    BX,EXT
  252.     MOV    BX,CX
  253.     MOV    CX,[BX]
  254.     MOV    CX,5[BX+SI]
  255.     MOV    CX,5[BP+DI]
  256.     MOV    <EXT,#IMM
  257.     MOV    >EXT,#IMM
  258.     MOV    EXT,AX
  259.     MOV    EXT,BX
  260.     MOV    [BX],CX
  261.     MOV    5[BX+SI],CX
  262.     MOV    5[BP+DI],CX
  263.     MOV    DS,AX
  264.     MOV    DS,EXT
  265.     MOV    [BX],ES
  266.     MOV    5[BP+DI],CS
  267. *
  268.     MOVS    <EXT
  269.     MOVS    >EXT
  270.     REP
  271.     MOVSB
  272.     MOVSW
  273. *
  274.     MUL    AL
  275.     MUL    AX
  276.     MUL    <EXT
  277.     MUL    >EXT
  278.     MUL    <[BX]
  279.     MUL    >[BX]
  280.     MUL    <5[SI]
  281.     MUL    >5[BX+DI]
  282.     MUL    <10[BP]
  283.     MUL    >10[BP+DI]
  284. *
  285.     NEG    AL
  286.     NEG    AX
  287.     NEG    <EXT
  288.     NEG    >EXT
  289.     NEG    <[BX]
  290.     NEG    >[BX]
  291.     NEG    <5[SI]
  292.     NEG    >5[BX+DI]
  293.     NEG    <10[BP]
  294.     NEG    >10[BP+DI]
  295. *
  296.     NOP
  297. *
  298.     NOT    AL
  299.     NOT    AX
  300.     NOT    <EXT
  301.     NOT    >EXT
  302.     NOT    <[BX]
  303.     NOT    >[BX]
  304.     NOT    <5[SI]
  305.     NOT    >5[BX+DI]
  306.     NOT    <10[BP]
  307.     NOT    >10[BP+DI]
  308. *
  309.     OR    AX,BX
  310.     OR    AL,#IMM
  311.     OR    AX,#IMM
  312.     OR    BL,#IMM
  313.     OR    BX,#IMM
  314.     OR    BX,#IMMM
  315.     OR    CL,[BX]
  316.     OR    CX,5[BX]
  317.     OR    DH,[DI]
  318.     OR    DX,5[DI]
  319.     OR    DI,[SI]
  320.     OR    SI,5[BX+DI]
  321.     OR    DI,5[BX+SI]
  322.     OR    AX,5[BP]
  323.     OR    AX,5[BP+DI]
  324.     OR    AX,5[BP+SI]
  325. *
  326.     OUT    10,AL
  327.     OUT    100,AX
  328.     OUT    DX,AL
  329.     OUT    DX,AX
  330. *
  331.     POP    AX
  332.     POP    >EXT
  333.     POP    >[BX]
  334.     POP    >5[BP+DI]
  335.     POP    ES
  336.     POPF
  337.     PUSH    AX
  338.     PUSH    >EXT
  339.     PUSH    >[BX]
  340.     PUSH    >5[BP+DI]
  341.     PUSH    ES
  342.     PUSHF
  343. *
  344.     RCL    AL,1
  345.     RCL    AX,1
  346.     RCL    AL,CL
  347.     RCL    AX,CL
  348.     RCR    AL,1
  349.     RCR    AX,1
  350.     RCR    AL,CL
  351.     RCR    AL,CL
  352. *
  353.     RET
  354. *
  355.     ROL    AL,1
  356.     ROL    AX,1
  357.     ROL    AL,CL
  358.     ROL    AX,CL
  359.     ROR    AL,1
  360.     ROR    AX,1
  361.     ROR    AL,CL
  362.     ROR    AX,CL
  363. *
  364.     SAHF
  365. *
  366.     SAL    AL,1
  367.     SAL    AX,1
  368.     SAL    AL,CL
  369.     SAL    AX,CL
  370.     SHR    AL,1
  371.     SHR    AX,1
  372.     SHR    AL,CL
  373.     SHR    AX,CL
  374. *
  375.     SBB    AX,BX
  376.     SBB    AL,#IMM
  377.     SBB    AX,#IMM
  378.     SBB    BL,#IMM
  379.     SBB    BX,#IMM
  380.     SBB    BX,#IMMM
  381.     SBB    CL,[BX]
  382.     SBB    CX,5[BX]
  383.     SBB    DH,[DI]
  384.     SBB    DX,5[DI]
  385.     SBB    DI,[SI]
  386.     SBB    SI,5[BX+DI]
  387.     SBB    DI,5[BX+SI]
  388.     SBB    AX,5[BP]
  389.     SBB    AX,5[BP+DI]
  390.     SBB    AX,5[BP+SI]
  391. *
  392.     SCAS    <EXT
  393.     SCAS    >EXT
  394.     SCASB
  395.     SCASW
  396. *
  397.     SHR    AL,1
  398.     SHR    AX,1
  399.     SHR    AL,CL
  400.     SHR    AX,CL
  401. *
  402.     STC
  403.     STD
  404.     STI
  405. *
  406.     STOS    <EXT
  407.     STOS    >EXT
  408.     STOSB
  409.     STOSW
  410. *
  411.     SUB    AX,BX
  412.     SUB    AL,#IMM
  413.     SUB    AX,#IMM
  414.     SUB    BL,#IMM
  415.     SUB    BX,#IMM
  416.     SUB    BX,#IMMM
  417.     SUB    CL,[BX]
  418.     SUB    CX,5[BX]
  419.     SUB    DH,[DI]
  420.     SUB    DX,5[DI]
  421.     SUB    DI,[SI]
  422.     SUB    SI,5[BX+DI]
  423.     SUB    DI,5[BX+SI]
  424.     SUB    AX,5[BP]
  425.     SUB    AX,5[BP+DI]
  426.     SUB    AX,5[BP+SI]
  427. *
  428.     TEST    AX,BX
  429.     TEST    AL,#IMM
  430.     TEST    AX,#IMM
  431.     TEST    BL,#IMM
  432.     TEST    BX,#IMM
  433.     TEST    BX,#IMMM
  434.     TEST    CL,[BX]
  435.     TEST    CX,5[BX]
  436.     TEST    DH,[DI]
  437.     TEST    DX,5[DI]
  438.     TEST    DI,[SI]
  439.     TEST    SI,5[BX+DI]
  440.     TEST    DI,5[BX+SI]
  441.     TEST    AX,5[BP]
  442.     TEST    AX,5[BP+DI]
  443.     TEST    AX,5[BP+SI]
  444. *
  445.     WAIT
  446. *
  447.     XCHG    AX,BX
  448.     XCHG    BX,CX
  449.     XCHG    BL,BH
  450.     XCHG    BX,EXT
  451.     XCHG    CX,[BX]
  452.     XCHG    DX,5[SI]
  453.     XCHG    DI,[BX+SI]
  454.     XCHG    SI,5[BP+DI]
  455. *
  456.     XLAT
  457. *
  458.     XOR    AX,BX
  459.     XOR    AL,#IMM
  460.     XOR    AX,#IMM
  461.     XOR    BL,#IMM
  462.     XOR    BX,#IMM
  463.     XOR    BX,#IMMM
  464.     XOR    CL,[BX]
  465.     XOR    CX,5[BX]
  466.     XOR    DH,[DI]
  467.     XOR    DX,5[DI]
  468.     XOR    DI,[SI]
  469.     XOR    SI,5[BX+DI]
  470.     XOR    DI,5[BX+SI]
  471.     XOR    AX,5[BP]
  472.     XOR    AX,5[BP+DI]
  473.     XOR    AX,5[BP+SI]
  474.